
package org.xteam.pascal.parser.ast;

import org.xteam.parser.runtime.Span;

public class Block extends org.xteam.parser.runtime.AstNode {
	
	public org.xteam.parser.runtime.reflect.AstNodeType getNodeType() {
		return PascalAstPackage.INSTANCE.getBlockType();
	}
	
	protected org.xteam.parser.runtime.AstList<IntegerValue> labels;
	protected org.xteam.parser.runtime.AstList<ConstantDefinition> constants;
	protected org.xteam.parser.runtime.AstList<TypeDefinition> types;
	protected org.xteam.parser.runtime.AstList<VariableDeclaration> variables;
	protected org.xteam.parser.runtime.AstList<FunctionDefinition> functions;
	protected org.xteam.parser.runtime.AstList<Statement> statements;
	
	public Block(Span span, org.xteam.parser.runtime.AstList<IntegerValue> labels,org.xteam.parser.runtime.AstList<ConstantDefinition> constants,org.xteam.parser.runtime.AstList<TypeDefinition> types,org.xteam.parser.runtime.AstList<VariableDeclaration> variables,org.xteam.parser.runtime.AstList<FunctionDefinition> functions,org.xteam.parser.runtime.AstList<Statement> statements) {
		super(span);
		this.labels = labels;
		this.constants = constants;
		this.types = types;
		this.variables = variables;
		this.functions = functions;
		this.statements = statements;
	}
	
	
	public org.xteam.parser.runtime.AstList<IntegerValue> getLabels() {
		return labels;
	}
	
	public void setLabels(org.xteam.parser.runtime.AstList<IntegerValue> labels) {
		this.labels = labels;
	}
	
	public org.xteam.parser.runtime.AstList<ConstantDefinition> getConstants() {
		return constants;
	}
	
	public void setConstants(org.xteam.parser.runtime.AstList<ConstantDefinition> constants) {
		this.constants = constants;
	}
	
	public org.xteam.parser.runtime.AstList<TypeDefinition> getTypes() {
		return types;
	}
	
	public void setTypes(org.xteam.parser.runtime.AstList<TypeDefinition> types) {
		this.types = types;
	}
	
	public org.xteam.parser.runtime.AstList<VariableDeclaration> getVariables() {
		return variables;
	}
	
	public void setVariables(org.xteam.parser.runtime.AstList<VariableDeclaration> variables) {
		this.variables = variables;
	}
	
	public org.xteam.parser.runtime.AstList<FunctionDefinition> getFunctions() {
		return functions;
	}
	
	public void setFunctions(org.xteam.parser.runtime.AstList<FunctionDefinition> functions) {
		this.functions = functions;
	}
	
	public org.xteam.parser.runtime.AstList<Statement> getStatements() {
		return statements;
	}
	
	public void setStatements(org.xteam.parser.runtime.AstList<Statement> statements) {
		this.statements = statements;
	}
	

	public void visit(IPascalVisitor visitor) {
		visitor.visitBlock(this);
	}
}
